/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package domain;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see domain.DomainFactory
 * @model kind="package"
 * @generated
 */
public interface DomainPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "domain";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http:///domain.ecore";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "domain";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	DomainPackage eINSTANCE = domain.impl.DomainPackageImpl.init();

	/**
	 * The meta object id for the '{@link domain.impl.DocumentRootHistoryImpl <em>Document Root History</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see domain.impl.DocumentRootHistoryImpl
	 * @see domain.impl.DomainPackageImpl#getDocumentRootHistory()
	 * @generated
	 */
	int DOCUMENT_ROOT_HISTORY = 0;

	/**
	 * The feature id for the '<em><b>System History</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DOCUMENT_ROOT_HISTORY__SYSTEM_HISTORY = 0;

	/**
	 * The number of structural features of the '<em>Document Root History</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int DOCUMENT_ROOT_HISTORY_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link domain.impl.EntityImpl <em>Entity</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see domain.impl.EntityImpl
	 * @see domain.impl.DomainPackageImpl#getEntity()
	 * @generated
	 */
	int ENTITY = 1;

	/**
	 * The feature id for the '<em><b>Full Qualified Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__FULL_QUALIFIED_NAME = 0;

	/**
	 * The feature id for the '<em><b>Kind</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__KIND = 1;

	/**
	 * The feature id for the '<em><b>Container Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__CONTAINER_NAME = 2;

	/**
	 * The feature id for the '<em><b>Location</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__LOCATION = 3;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__NAME = 4;

	/**
	 * The feature id for the '<em><b>Entity</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__ENTITY = 5;

	/**
	 * The feature id for the '<em><b>Metric</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__METRIC = 6;

	/**
	 * The feature id for the '<em><b>Parent</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__PARENT = 7;

	/**
	 * The feature id for the '<em><b>Revision Number</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY__REVISION_NUMBER = 8;

	/**
	 * The number of structural features of the '<em>Entity</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ENTITY_FEATURE_COUNT = 9;

	/**
	 * The meta object id for the '{@link domain.impl.MetricImpl <em>Metric</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see domain.impl.MetricImpl
	 * @see domain.impl.DomainPackageImpl#getMetric()
	 * @generated
	 */
	int METRIC = 2;

	/**
	 * The feature id for the '<em><b>Short Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int METRIC__SHORT_NAME = 0;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int METRIC__VALUE = 1;

	/**
	 * The number of structural features of the '<em>Metric</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int METRIC_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link domain.impl.SystemHistoryImpl <em>System History</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see domain.impl.SystemHistoryImpl
	 * @see domain.impl.DomainPackageImpl#getSystemHistory()
	 * @generated
	 */
	int SYSTEM_HISTORY = 3;

	/**
	 * The feature id for the '<em><b>System Version</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_HISTORY__SYSTEM_VERSION = 0;

	/**
	 * The number of structural features of the '<em>System History</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_HISTORY_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link domain.impl.SystemVersionImpl <em>System Version</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see domain.impl.SystemVersionImpl
	 * @see domain.impl.DomainPackageImpl#getSystemVersion()
	 * @generated
	 */
	int SYSTEM_VERSION = 4;

	/**
	 * The feature id for the '<em><b>Revision Number</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_VERSION__REVISION_NUMBER = 0;

	/**
	 * The feature id for the '<em><b>Entity</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_VERSION__ENTITY = 1;

	/**
	 * The number of structural features of the '<em>System Version</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_VERSION_FEATURE_COUNT = 2;


	/**
	 * Returns the meta object for class '{@link domain.DocumentRootHistory <em>Document Root History</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Document Root History</em>'.
	 * @see domain.DocumentRootHistory
	 * @generated
	 */
	EClass getDocumentRootHistory();

	/**
	 * Returns the meta object for the containment reference '{@link domain.DocumentRootHistory#getSystemHistory <em>System History</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>System History</em>'.
	 * @see domain.DocumentRootHistory#getSystemHistory()
	 * @see #getDocumentRootHistory()
	 * @generated
	 */
	EReference getDocumentRootHistory_SystemHistory();

	/**
	 * Returns the meta object for class '{@link domain.Entity <em>Entity</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Entity</em>'.
	 * @see domain.Entity
	 * @generated
	 */
	EClass getEntity();

	/**
	 * Returns the meta object for the attribute '{@link domain.Entity#getFullQualifiedName <em>Full Qualified Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Full Qualified Name</em>'.
	 * @see domain.Entity#getFullQualifiedName()
	 * @see #getEntity()
	 * @generated
	 */
	EAttribute getEntity_FullQualifiedName();

	/**
	 * Returns the meta object for the attribute '{@link domain.Entity#getKind <em>Kind</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Kind</em>'.
	 * @see domain.Entity#getKind()
	 * @see #getEntity()
	 * @generated
	 */
	EAttribute getEntity_Kind();

	/**
	 * Returns the meta object for the attribute '{@link domain.Entity#getContainerName <em>Container Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Container Name</em>'.
	 * @see domain.Entity#getContainerName()
	 * @see #getEntity()
	 * @generated
	 */
	EAttribute getEntity_ContainerName();

	/**
	 * Returns the meta object for the attribute '{@link domain.Entity#getLocation <em>Location</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Location</em>'.
	 * @see domain.Entity#getLocation()
	 * @see #getEntity()
	 * @generated
	 */
	EAttribute getEntity_Location();

	/**
	 * Returns the meta object for the attribute '{@link domain.Entity#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see domain.Entity#getName()
	 * @see #getEntity()
	 * @generated
	 */
	EAttribute getEntity_Name();

	/**
	 * Returns the meta object for the containment reference list '{@link domain.Entity#getEntity <em>Entity</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Entity</em>'.
	 * @see domain.Entity#getEntity()
	 * @see #getEntity()
	 * @generated
	 */
	EReference getEntity_Entity();

	/**
	 * Returns the meta object for the containment reference list '{@link domain.Entity#getMetric <em>Metric</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Metric</em>'.
	 * @see domain.Entity#getMetric()
	 * @see #getEntity()
	 * @generated
	 */
	EReference getEntity_Metric();

	/**
	 * Returns the meta object for the reference '{@link domain.Entity#getParent <em>Parent</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Parent</em>'.
	 * @see domain.Entity#getParent()
	 * @see #getEntity()
	 * @generated
	 */
	EReference getEntity_Parent();

	/**
	 * Returns the meta object for the attribute '{@link domain.Entity#getRevisionNumber <em>Revision Number</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Revision Number</em>'.
	 * @see domain.Entity#getRevisionNumber()
	 * @see #getEntity()
	 * @generated
	 */
	EAttribute getEntity_RevisionNumber();

	/**
	 * Returns the meta object for class '{@link domain.Metric <em>Metric</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Metric</em>'.
	 * @see domain.Metric
	 * @generated
	 */
	EClass getMetric();

	/**
	 * Returns the meta object for the attribute '{@link domain.Metric#getShortName <em>Short Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Short Name</em>'.
	 * @see domain.Metric#getShortName()
	 * @see #getMetric()
	 * @generated
	 */
	EAttribute getMetric_ShortName();

	/**
	 * Returns the meta object for the attribute '{@link domain.Metric#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see domain.Metric#getValue()
	 * @see #getMetric()
	 * @generated
	 */
	EAttribute getMetric_Value();

	/**
	 * Returns the meta object for class '{@link domain.SystemHistory <em>System History</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>System History</em>'.
	 * @see domain.SystemHistory
	 * @generated
	 */
	EClass getSystemHistory();

	/**
	 * Returns the meta object for the containment reference list '{@link domain.SystemHistory#getSystemVersion <em>System Version</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>System Version</em>'.
	 * @see domain.SystemHistory#getSystemVersion()
	 * @see #getSystemHistory()
	 * @generated
	 */
	EReference getSystemHistory_SystemVersion();

	/**
	 * Returns the meta object for class '{@link domain.SystemVersion <em>System Version</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>System Version</em>'.
	 * @see domain.SystemVersion
	 * @generated
	 */
	EClass getSystemVersion();

	/**
	 * Returns the meta object for the attribute '{@link domain.SystemVersion#getRevisionNumber <em>Revision Number</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Revision Number</em>'.
	 * @see domain.SystemVersion#getRevisionNumber()
	 * @see #getSystemVersion()
	 * @generated
	 */
	EAttribute getSystemVersion_RevisionNumber();

	/**
	 * Returns the meta object for the containment reference list '{@link domain.SystemVersion#getEntity <em>Entity</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Entity</em>'.
	 * @see domain.SystemVersion#getEntity()
	 * @see #getSystemVersion()
	 * @generated
	 */
	EReference getSystemVersion_Entity();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	DomainFactory getDomainFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link domain.impl.DocumentRootHistoryImpl <em>Document Root History</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see domain.impl.DocumentRootHistoryImpl
		 * @see domain.impl.DomainPackageImpl#getDocumentRootHistory()
		 * @generated
		 */
		EClass DOCUMENT_ROOT_HISTORY = eINSTANCE.getDocumentRootHistory();

		/**
		 * The meta object literal for the '<em><b>System History</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference DOCUMENT_ROOT_HISTORY__SYSTEM_HISTORY = eINSTANCE.getDocumentRootHistory_SystemHistory();

		/**
		 * The meta object literal for the '{@link domain.impl.EntityImpl <em>Entity</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see domain.impl.EntityImpl
		 * @see domain.impl.DomainPackageImpl#getEntity()
		 * @generated
		 */
		EClass ENTITY = eINSTANCE.getEntity();

		/**
		 * The meta object literal for the '<em><b>Full Qualified Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ENTITY__FULL_QUALIFIED_NAME = eINSTANCE.getEntity_FullQualifiedName();

		/**
		 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ENTITY__KIND = eINSTANCE.getEntity_Kind();

		/**
		 * The meta object literal for the '<em><b>Container Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ENTITY__CONTAINER_NAME = eINSTANCE.getEntity_ContainerName();

		/**
		 * The meta object literal for the '<em><b>Location</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ENTITY__LOCATION = eINSTANCE.getEntity_Location();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ENTITY__NAME = eINSTANCE.getEntity_Name();

		/**
		 * The meta object literal for the '<em><b>Entity</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference ENTITY__ENTITY = eINSTANCE.getEntity_Entity();

		/**
		 * The meta object literal for the '<em><b>Metric</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference ENTITY__METRIC = eINSTANCE.getEntity_Metric();

		/**
		 * The meta object literal for the '<em><b>Parent</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference ENTITY__PARENT = eINSTANCE.getEntity_Parent();

		/**
		 * The meta object literal for the '<em><b>Revision Number</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute ENTITY__REVISION_NUMBER = eINSTANCE.getEntity_RevisionNumber();

		/**
		 * The meta object literal for the '{@link domain.impl.MetricImpl <em>Metric</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see domain.impl.MetricImpl
		 * @see domain.impl.DomainPackageImpl#getMetric()
		 * @generated
		 */
		EClass METRIC = eINSTANCE.getMetric();

		/**
		 * The meta object literal for the '<em><b>Short Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute METRIC__SHORT_NAME = eINSTANCE.getMetric_ShortName();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute METRIC__VALUE = eINSTANCE.getMetric_Value();

		/**
		 * The meta object literal for the '{@link domain.impl.SystemHistoryImpl <em>System History</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see domain.impl.SystemHistoryImpl
		 * @see domain.impl.DomainPackageImpl#getSystemHistory()
		 * @generated
		 */
		EClass SYSTEM_HISTORY = eINSTANCE.getSystemHistory();

		/**
		 * The meta object literal for the '<em><b>System Version</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference SYSTEM_HISTORY__SYSTEM_VERSION = eINSTANCE.getSystemHistory_SystemVersion();

		/**
		 * The meta object literal for the '{@link domain.impl.SystemVersionImpl <em>System Version</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see domain.impl.SystemVersionImpl
		 * @see domain.impl.DomainPackageImpl#getSystemVersion()
		 * @generated
		 */
		EClass SYSTEM_VERSION = eINSTANCE.getSystemVersion();

		/**
		 * The meta object literal for the '<em><b>Revision Number</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute SYSTEM_VERSION__REVISION_NUMBER = eINSTANCE.getSystemVersion_RevisionNumber();

		/**
		 * The meta object literal for the '<em><b>Entity</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference SYSTEM_VERSION__ENTITY = eINSTANCE.getSystemVersion_Entity();

	}

} //DomainPackage
